package com.bd.scm.dao.mapper.numberOfRuns;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bd.scm.domain.dto.numberOfRuns.ZtBanCiDto;
import com.bd.scm.domain.models.numberOfRuns.ZtBanCi;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/** 班次与部门 Mapper
 * @ClassName  * @ClassName ZtBanCiDepMapper
 * @Description TODO
 * @Author YH
 * @Date 2019/12/9 0009 10:04
 * @Version 1.0
 **/
public interface ZtBanCiDepMapper extends BaseMapper<ZtBanCi> {

    /**
     * 获取班次与部门关系数据
     * @param page 分页信息
     * @param object 查询条件  serchTxt 模糊查询  部门名称 规律班次名称  部门ID
     * @return
     */
    IPage<JSONObject> findZtBanCiDepList(Page<JSONObject> page, @Param("object") JSONObject object);

    /**
     * 获取班次列表.
     * @param ztBanCiDto 条件 depSerial
     * @return
     */
    List<ZtBanCi> getBacCiListByDepId(ZtBanCiDto ztBanCiDto);
    /**
     * 获取班次列表.
     * @param ztBanCiDto 条件 depSerial
     * @return
     */
    List<ZtBanCi> getBacCiList(ZtBanCiDto ztBanCiDto);

    /**
     * 获取有效的班次IDS
     * @return
     */
    String findBanCiIDs();

    /**
     * 根据部门ID 修改bd_banci_department_query
     * @param object
     * bancivalue 0 删除 1不删除
     * depSerial 部门ID
     * banCiIDs 班次IDs
     * whetherDeleted 是否删除 0 不删除 1删除
     */
    int updateBdBanciDepartmentQuery(@Param("object") JSONObject object);

    /**
     * 删除某个部门所有的关联班次记录
     * @param depSerial 部门ID
     * @return
     */
    int deletedBanCiDepartmentConfig(String depSerial);

    /**
     * 保存规律班次与部门
     * @param object depSerial 部门名称  banciId 班次ID
     * @return
     */
    int savaBanCiDepartmentConfig(@Param("object") JSONObject object);

    /**
     * 判断 bd_banci_department_query 是否存在记录存在 不操作  不存在添加
     * @param depSerial 部门ID
     * @return
     */
    int insertBdBanciDepartmentQuery(String depSerial);
}
